package com.nari.ncps.screen.dto.excelimport.coal;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 生产经营煤炭销量表
 * </p>
 *
 * @author xuesong
 * @since 2025-08-23
 */
@Data
@TableName("qt_dp_coal_prodoper_sales")
@Schema(name = "CoalProdoperSales对象", description = "生产经营煤炭销量表")
public class CoalProdoperSales implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "自增ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "年")
    @Excel(name = "年", orderNum = "0")
    @TableField("year")
    private Integer year;

    @Schema(description = "月")
    @Excel(name = "月", orderNum = "1")
    @TableField("month")
    private Integer month;

    @Schema(description = "年月日期")
    @Excel(name = "年月日期", orderNum = "2", format = "yyyy-MM")
    @TableField("year_month_date")
    private Date yearMonthDate;

    @Schema(description = "年月类型，0：年，1：月")
    @Excel(name = "年月类型", orderNum = "3")
    @TableField("year_month_type")
    private Boolean yearMonthType;

    @Schema(description = "煤炭类型：0：高热，1：中热，2：普热")
    @Excel(name = "煤炭类型", orderNum = "4")
    @TableField("coal_type")
    private Boolean coalType;

    @Schema(description = "年计划完成情况(吨)")
    @Excel(name = "年计划完成情况", orderNum = "5")
    @TableField("annual_plan")
    private BigDecimal annualPlan;

    @Schema(description = "年当前完成情况(吨)")
    @Excel(name = "年当前完成情况", orderNum = "6")
    @TableField("annual_actual")
    private BigDecimal annualActual;

    @Schema(description = "年当前完成率(%)")
    @Excel(name = "年当前完成率", orderNum = "7")
    @TableField("annual_completion_rate")
    private BigDecimal annualCompletionRate;

    @Schema(description = "月计划完成量(吨)")
    @Excel(name = "月计划完成量", orderNum = "8")
    @TableField("monthly_plan")
    private BigDecimal monthlyPlan;

    @Schema(description = "月当前完成情况(吨)")
    @Excel(name = "月当前完成情况", orderNum = "9")
    @TableField("monthly_actual")
    private BigDecimal monthlyActual;

    @Schema(description = "单位名称")
    @Excel(name = "单位名称", orderNum = "10")
    @TableField("unit_name")
    private String unitName;

    @Schema(description = "单位编码")
    @Excel(name = "单位编码", orderNum = "11")
    @TableField("unit_code")
    private String unitCode;

    @Schema(description = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @Schema(description = "创建人")
    @TableField("creator")
    private String creator;

    @Schema(description = "更新时间")
    @TableField("update_time")
    private Date updateTime;

    @Schema(description = "更新人")
    @TableField("updater")
    private String updater;
}
